<template>
    <view class="container">
        <!--header-->
        <view class="tui-header-box">
            <view class="tui-header" :style="{ height: height-20 + 'px' }">
                <view class="tui-back"  @tap="back">
                    <!-- #ifndef MP-BAIDU || MP-ALIPAY -->
                    <tui-icon name="arrowleft" color="#000"></tui-icon>
                    <!-- #endif -->
                </view>
                <view class="tui-searchbox tui-search-mr" >
                    <input class="tui-search-input" :value="decodeSearchKey(searchKey)" @input="handleInput" @confirm="search" placeholder="搜索商品" />
                    <tui-icon v-if="searchKey" class="tui-delete-icon" name="close" :size="12" color="#000"
                        @tap="clearSearchKey"></tui-icon>
                </view>
                <!-- <view class="tui-searchbox tui-search-mr" :style="{ marginTop: inputTop + 'px' }" @tap="search">
                    <icon type="search" :size="13" color="#999"></icon>
                    <text class="tui-search-text" v-if="!searchKey">搜索商品</text>
                    <view class="tui-search-key" v-if="searchKey">
                        <view class="tui-key-text">{{ searchKey }}</view>
                        <tui-icon name="shut" :size="12" color="#fff"></tui-icon>
                    </view>
                </view> -->
            </view>
        </view>
        <!--header-->
        <!--screen-->
        <view class="tui-header-screen" :style="{ top: height + 'px' }">
            <view class="tui-screen-top">
                <view class="tui-top-item tui-icon-ml" :class="[tabIndex == 0 ? 'tui-active tui-bold' : '']"
                    data-index="0" @tap="screen">
                    <view>{{ selectedName }}</view>
                    <!-- <tui-icon :name="selectH > 0 ? 'arrowup' : 'arrowdown'" :size="14"
                        :color="tabIndex == 0 ? '#e41f19' : '#444'"></tui-icon> -->
                </view>
                <view class="tui-top-item" :class="[tabIndex == 1 ? 'tui-active tui-bold' : '']" @tap="screen"
                    data-index="1">销量</view>
                <view class="tui-top-item" @tap="screen" data-index="2">
                    <tui-icon :name="isList ? 'manage' : 'listview'" :size="isList ? 22 : 18"
                        :bold="isList ? false : true" color="#333"></tui-icon>
                </view>
                <!-- <view class="tui-top-item tui-icon-ml" @tap="screen" data-index="3">
                    <text>筛选</text>
                    <tui-icon name="screen" :size="12" color="#333" :bold="true"></tui-icon>
                </view> -->

                <!--下拉选择列表--综合-->
                <view class="tui-dropdownlist" :class="[selectH > 0 ? 'tui-dropdownlist-show' : '']"
                    :style="{ height: selectH + 'rpx' }">
                    <view class="tui-dropdownlist-item tui-icon-middle" :class="[item.selected ? 'tui-bold' : '']"
                        v-for="(item, index) in dropdownList" :key="index" @tap.stop="dropdownItem" :data-index="index">
                        <text class="tui-ml tui-middle">{{ item.name }}</text>
                        <tui-icon name="check" :size="16" color="#e41f19" :bold="true" v-if="item.selected"></tui-icon>
                    </view>
                </view>
                <view class="tui-dropdownlist-mask" :class="[selectH > 0 ? 'tui-mask-show' : '']"
                    @tap.stop="hideDropdownList"></view>
                <!--下拉选择列表--综合-->
            </view>
        </view>
        <!--screen-->

        <!--list-->
        <view class="tui-product-list" :style="{ marginTop: px(dropScreenH + 18) }">
            <!-- 搜索空状态 -->
            <view v-if="searchKey && searchKey.trim() && productList.length === 0 && !loadding" class="tui-search-empty">
                <view class="tui-empty-icon">🔍</view>
                <view class="tui-empty-text">未找到"{{ decodeSearchKey(searchKey) }}"相关商品</view>
                <view class="tui-empty-tip">请尝试其他关键词</view>
            </view>
            
            <view class="tui-product-container">
                <block v-for="(item, index) in productList" :key="index">
                    <!--商品列表-->
                    <view v-if="(index + 1) % 2 != 0 || isList" class="tui-pro-item"
                        :class="[isList ? 'tui-flex-list' : '']" hover-class="tui-hover" :hover-start-time="150"
                        @tap="detail(item)">
                        <image :src="item.img " class="tui-pro-img" :class="[isList ? 'tui-proimg-list' : '']"
                            mode="widthFix"></image>
                        <view class="tui-pro-content">
                            <view class="tui-pro-tit">{{ item.name }}</view>
                            <view>
                                <view class="tui-pro-price">
                                    <text class="tui-sale-price">￥{{ fen2yuan(item.sale) }}</text>
                                    <text class="tui-factory-price">￥{{ fen2yuan(item.factory) }}</text>
                                </view>
                                <view class="tui-pro-pay">{{ item.payNum }}人付款</view>
                            </view>
                        </view>
                    </view>
                    <!--商品列表-->
                </block>
            </view>
            <view class="tui-product-container" :class="{'tui-pro--hidden':isList}">
                <block v-for="(item, index) in productList" :key="index">
                    <!--商品列表-->
                    <view v-if="(index + 1) % 2 == 0" class="tui-pro-item" :class="[isList ? 'tui-flex-list' : '']"
                        hover-class="tui-hover" :hover-start-time="150" @tap="detail(item)">
                        <image :src="item.img" class="tui-pro-img" :class="[isList ? 'tui-proimg-list' : '']"
                            mode="widthFix"></image>
                        <view class="tui-pro-content">
                            <view class="tui-pro-tit">{{ item.name }}</view>
                            <view>
                                <view class="tui-pro-price">
                                    <text class="tui-sale-price">￥{{ fen2yuan(item.sale) }}</text>
                                    <text class="tui-factory-price">￥{{ fen2yuan(item.factory) }}</text>
                                </view>
                                <view class="tui-pro-pay">{{ item.payNum }}人付款</view>
                            </view>
                        </view>
                    </view>
                    <!--商品列表-->
                </block>
            </view>
        </view>

        <!--list-->

        <!--顶部下拉筛选弹层 属性-->
        <tui-top-dropdown backgroundColor="#f7f7f7" :show="dropScreenShow" :paddingbtm="110" :translatey="dropScreenH"
            @close="btnCloseDrop">
            <scroll-view class="tui-scroll-box" scroll-y :scroll-top="scrollTop">
                <view class="tui-seizeaseat-20"></view>
                <view class="tui-drop-item tui-icon-middle" :class="[item.selected ? 'tui-bold' : '']"
                    v-for="(item, index) in attrData" :key="index" @tap.stop="btnSelected" :data-index="index">
                    <tui-icon name="check" :size="16" color="#e41f19" :bold="true" v-if="item.selected"></tui-icon>
                    <text class="tui-ml tui-middle">{{ item.name }}</text>
                </view>
                <view class="tui-seizeaseat-30"></view>
            </scroll-view>
            <view class="tui-drop-btnbox">
                <view class="tui-drop-btn tui-btn-white" hover-class="tui-white-hover" :hover-stay-time="150"
                    @tap="reset">重置</view>
                <view class="tui-drop-btn tui-btn-red" hover-class="tui-red-hover" :hover-stay-time="150"
                    @tap="btnSure">确定</view>
            </view>
        </tui-top-dropdown>
        <!---顶部下拉筛选弹层 属性-->

        <!--左抽屉弹层 筛选 -->
        <tui-drawer :z-index="998" mode="right" :visible="drawer" @close="closeDrawer">
            <view class="tui-drawer-box" :style="{ paddingTop: height + 'px' }">
                <scroll-view class="tui-drawer-scroll" scroll-y :style="{ height: drawerH + 'px' }">
                    <view class="tui-drawer-title">
                        <text class="tui-title-bold">价格区间</text>
                        <view class="tui-attr-right">
                            <tui-icon name="position-fill" color="#e41f19" :size="14" class="tui-location"></tui-icon>
                            <text class="tui-addr-left">北京朝阳区三环到四环之间</text>
                        </view>
                    </view>
                    <view class="tui-drawer-content">
                        <input placeholder-class="tui-phcolor" class="tui-input" placeholder="最低价" maxlength="11"
                            type="number" />
                        <tui-icon name="reduce" color="#333" :size="14"></tui-icon>
                        <input placeholder-class="tui-phcolor" class="tui-input" placeholder="最高价" maxlength="11"
                            type="number" />
                    </view>

                    <view class="tui-drawer-title">
                        <text class="tui-title-bold">全部分类</text>
                        <view class="tui-all-box tui-icon-ml">
                            <view class="tui-attr-right">全部</view>
                            <tui-icon name="arrowdown" :size="14" color="#444"></tui-icon>
                        </view>
                    </view>
                    <view class="tui-drawer-content tui-flex-attr">
                        <view class="tui-attr-item tui-btmItem-active">
                            <view class="tui-attr-ellipsis">男装</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">女装</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">运动服饰</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">户外鞋服</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">文化</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">服饰配件</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">流行男鞋</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">艺术</view>
                        </view>
                    </view>

                    <view class="tui-drawer-title">
                        <text class="tui-title-bold">品牌</text>
                        <view class="tui-all-box tui-icon-ml">
                            <view class="tui-attr-right tui-active ">花花公子，七匹狼（SEPTWOLVES）</view>
                            <tui-icon name="arrowdown" :size="14" color="#444"></tui-icon>
                        </view>
                    </view>
                    <view class="tui-drawer-content tui-flex-attr">
                        <view class="tui-attr-item tui-btmItem-active">
                            <view class="tui-attr-ellipsis">花花公子</view>
                        </view>
                        <view class="tui-attr-item tui-btmItem-active">
                            <view class="tui-attr-ellipsis">七匹狼（SEPTWOLVES）</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">吉普</view>
                        </view>
                    </view>

                    <view class="tui-drawer-title">
                        <text class="tui-title-bold">尺码</text>
                        <view class="tui-all-box tui-icon-ml">
                            <view class="tui-attr-right">全部</view>
                            <tui-icon name="arrowup" :size="14" color="#444"></tui-icon>
                        </view>
                    </view>
                    <view class="tui-drawer-content tui-flex-attr">
                        <view class="tui-attr-item tui-btmItem-active">
                            <view class="tui-attr-ellipsis">27</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">28</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">29</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">30</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">31</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">32</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">33</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">34</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">35</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">36</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">37</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">38</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">39</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">40</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">41</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">42</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">43</view>
                        </view>
                        <view class="tui-attr-item">
                            <view class="tui-attr-ellipsis">44</view>
                        </view>
                    </view>
                    <view class="tui-safearea-bottom"></view>
                </scroll-view>
                <view class="tui-attr-btnbox">
                    <view class="tui-attr-safearea">
                        <view class="tui-drawer-btn tui-drawerbtn-black" hover-class="tui-white-hover"
                            :hover-stay-time="150">重置</view>
                        <view class="tui-drawer-btn tui-drawerbtn-primary" hover-class="tui-red-hover"
                            :hover-stay-time="150" @tap="closeDrawer">确定(80万+件商品)</view>
                    </view>
                </view>
            </view>
        </tui-drawer>
        <!--左抽屉弹层 筛选-->

        <!--加载loadding-->
        <tui-loadmore v-if="loadding" :index="3" type="red"></tui-loadmore>
        <tui-nomore v-if="!pullUpOn " backgroundColor="#f7f7f7"></tui-nomore>
        <!--加载loadding-->
    </view>
</template>

<script>
    export default {
        data() {
            return {
                sortField: '', // 排序字段
                sortAsc: true, // 排序方向，true 为升序，false 为降序
                pageIndex: 1, // 当前页码
                pageSize: 10, // 每页数据条数，默认值，可动态调整
                productList: [], // 产品列表
                loadding: false, // 是否正在加载
                pullUpOn: true, // 是否可以加载更多数据
                searchKey: '', //搜索关键词
                cid: '',
                width: 200, //header宽度
                height: 64, //header高度
                inputTop: 0, //搜索框距离顶部距离
                arrowTop: 0, //箭头距离顶部距离
                dropScreenH: 0, //下拉筛选框距顶部距离
                attrData: [],
                attrIndex: -1,
                dropScreenShow: false,
                scrollTop: 0,
                tabIndex: 0, //顶部筛选索引
                isList: false, //是否以列表展示  | 列表或大图
                drawer: false,
                drawerH: 0, //抽屉内部scrollview高度
                selectedName: '综合',
                selectH: 0,
                dropdownList: [{
                    name: '综合',
                    selected: true
                },
                {
                    name: '价格升序',
                    selected: false
                },
                {
                    name: '价格降序',
                    selected: false
                }
                ],
                attrArr: [
                ],
                productList: [
                ],
                pageIndex: 1,
                loadding: false,
                pullUpOn: true
            };
        },
        onLoad: function (options) {
            let obj = {};
            this.cid = options.cid || ''
            // #ifdef MP-WEIXIN
            obj = wx.getMenuButtonBoundingClientRect();
            // #endif
            // #ifdef MP-BAIDU
            obj = swan.getMenuButtonBoundingClientRect();
            // #endif
            // #ifdef MP-ALIPAY
            my.hideAddToDesktopMenu();
            // #endif
            uni.getSystemInfo({
                success: res => {
                    this.width = obj.left || res.windowWidth;
                    this.height = obj.top ? obj.top + obj.height + 8 : res.statusBarHeight + 44;
                    this.inputTop = obj.top ? obj.top + (obj.height - 30) / 2 : res.statusBarHeight + 7;
                    this.arrowTop = obj.top ? obj.top + (obj.height - 32) / 2 : res.statusBarHeight + 6;
                    this.searchKey = options.searchKey || options.keyword || '';
                    
                    // 如果是从搜索入口进入，自动聚焦搜索框
                    if (options.search === 'true') {
                        this.$nextTick(() => {
                            // 这里可以添加自动聚焦搜索框的逻辑
                            console.log('从搜索入口进入，准备搜索');
                            console.log('搜索关键词:', this.searchKey);
                            
                            // 如果有搜索关键词，自动执行搜索
                            if (this.searchKey && this.searchKey.trim()) {
                                this.search();
                            }
                        });
                    }

                    //略小，避免误差带来的影响
                    this.dropScreenH = (this.height * 750) / res.windowWidth + 80;
                    this.drawerH = res.windowHeight - uni.upx2px(100) - this.height;
                }
            });
        },
        mounted() {
            this.loadProlist()
        },
        methods: {
            // 分转元函数，参考 yudao-mall
            fen2yuan(price) {
                return (Number(price) / 100).toFixed(2);
            },
            // 解码搜索关键词
            decodeSearchKey(keyword) {
                if (!keyword) return '';
                // 如果包含URL编码，先解码
                if (keyword.includes('%')) {
                    try {
                        return decodeURIComponent(keyword);
                    } catch (e) {
                        console.log('解码失败，使用原始关键词:', keyword);
                        return keyword;
                    }
                }
                return keyword;
            },
            clearSearchKey() {
                this.searchKey = '';
                this.cid = '';
                this.resetData();
                this.loadProlist();
            },
            // 重置数据
            resetData() {
                this.productList = [];
                this.pageIndex = 1;
                this.pullUpOn = true;
            },
            fetchProductList(pageNo,pageSize) {
                const params = {
                    pageNo,
                    pageSize,
                    categoryId: this.cid
                };

                // 添加搜索关键词参数 - 参考yudao-mall-uniapp
                if (this.searchKey && this.searchKey.trim()) {
                    // 确保搜索关键词是解码后的文本
                    let keyword = this.searchKey.trim();
                    // 如果包含URL编码，先解码
                    if (keyword.includes('%')) {
                        try {
                            keyword = decodeURIComponent(keyword);
                        } catch (e) {
                            console.log('解码失败，使用原始关键词:', keyword);
                        }
                    }
                    params.keyword = keyword;
                }

                // 动态添加排序参数
                if (this.sortField) {
                    params.sortField = this.sortField;
                    params.sortAsc = this.sortAsc;
                }

                // 调试信息
                console.log('搜索请求参数:', params);
                console.log('搜索关键词:', this.searchKey);
                console.log('处理后的keyword:', params.keyword);

                return this.$api.req(`/product/spu/page`,params,'GET',"JSON",false)
                    .then(res => {
                        if (res.code === 0) {
                            const newList = res.data.list.map(item => ({
                                id: item.id,
                                name: item.name,
                                img: item.picUrl,
                                sliderPics: item.sliderPicUrls,
                                sale: item.price,
                                factory: item.marketPrice,
                                stock: item.stock,
                                payNum: item.salesCount
                            }));
                            return newList;
                        } else {
                            throw new Error(res.msg || '加载失败');
                        }
                    });
            },
            // 更新产品列表
            loadProlist() {
                this.loadding = true;
                this.fetchProductList(1,this.pageSize).then(newList => {
                    this.productList = newList;
                    this.pageIndex = 2;
                    this.pullUpOn = newList.length >= this.pageSize;
                    
                    // 显示搜索结果提示
                    if (this.searchKey && this.searchKey.trim()) {
                        if (newList.length === 0) {
                            uni.showToast({
                                title: '未找到相关商品',
                                icon: 'none',
                                duration: 2000
                            });
                        } else {
                            uni.showToast({
                                title: `找到${newList.length}个商品`,
                                icon: 'none',
                                duration: 1500
                            });
                        }
                    }
                }).catch(err => {
                    console.error(err);
                    this.pullUpOn = false;
                    uni.showToast({
                        title: '搜索失败',
                        icon: 'none',
                        duration: 2000
                    });
                }).finally(() => {
                    this.loadding = false;
                });
            },
            px(num) {
                return uni.upx2px(num) + 'px';
            },
            btnDropChange: function (e) {
                let index = Number(e.currentTarget.dataset.index);
                let arr = JSON.parse(JSON.stringify(this.attrArr[index].list));
                if (arr.length === 0) {
                    this.btnCloseDrop();
                    this.$set(this.attrArr[index],'isActive',!this.attrArr[index].isActive);
                } else {
                    this.attrData = arr;
                    this.attrIndex = index;
                    this.dropScreenShow = true;
                    this.$set(this.attrArr[index],'isActive',false);
                    this.scrollTop = 1;
                    this.$nextTick(() => {
                        this.scrollTop = 0;
                    });
                }
            },
            btnSelected: function (e) {
                let index = e.currentTarget.dataset.index;
                this.$set(this.attrData[index],'selected',!this.attrData[index].selected);
            },
            reset() {
                let arr = this.attrData;
                for (let item of arr) {
                    item.selected = false;
                }
                this.attrData = arr;
            },
            btnCloseDrop() {
                this.scrollTop = 1;
                this.$nextTick(() => {
                    this.scrollTop = 0;
                });
                this.dropScreenShow = false;
                this.attrIndex = -1;
            },
            btnSure: function () {
                let index = this.attrIndex;
                let arr = this.attrData;
                let active = false;
                let attrName = '';
                //这里只是为了展示选中效果,并非实际场景
                for (let item of arr) {
                    if (item.selected) {
                        active = true;
                        attrName += attrName ? ';' + item.name : item.name;
                    }
                }
                let obj = this.attrArr[index];
                this.btnCloseDrop();
                this.$set(obj,'isActive',active);
                this.$set(obj,'selectedName',attrName);
            },
            showDropdownList: function () {
                this.selectH = 246;
                this.tabIndex = 0;
            },
            hideDropdownList: function () {
                this.selectH = 0;
            },
            dropdownItem: function (e) {
                let index = Number(e.currentTarget.dataset.index);
                let arr = this.dropdownList;
                for (let i = 0; i < arr.length; i++) {
                    if (i === index) {
                        arr[i].selected = true;
                    } else {
                        arr[i].selected = false;
                    }
                }
                this.dropdownList = arr;
                this.selectedName = index == 0 ? '综合' : '价格';
                this.selectH = 0;
            },
            screen(e) {
                let index = e.currentTarget.dataset.index * 1;
                if (index === 0) {
                    // 综合排序
                    this.index = 0
                    this.tabIndex = 0
                    this.changeSort('comprehensive');
                } else if (index === 1) {
                    // 销量排序
                    this.index = 1
                    this.tabIndex = 1
                    this.changeSort('sales');
                } else if (index === 2) {
                    this.isList = !this.isList;
                } else if (index === 3) {
                    this.drawer = true;
                }
            },
            // 切换排序
            changeSort(type) {
                if (type === 'sales') {
                    this.sortField = 'salesCount';
                    this.sortAsc = false; // 降序
                } else if (type === 'comprehensive') {
                    this.sortField = '';
                    this.sortAsc = true; // 恢复默认
                }
                // 重置数据并加载第一页
                this.pageIndex = 1;
                this.productList = [];
                this.pullUpOn = true;
                this.loadProlist();
            },

            closeDrawer: function () {
                this.drawer = false;
            },
            back: function () {
                if (this.drawer) {
                    this.closeDrawer();
                } else {
                    uni.navigateBack();
                }
            },
            // 搜索输入处理 - 参考yudao-mall-uniapp
            handleInput(e) {
                // 直接设置用户输入的值，不进行额外编码
                this.searchKey = e.detail.value;
            },
            // 搜索确认 - 参考yudao-mall-uniapp
            search() {
                this.resetData();
                this.loadProlist();
            },
            detail: function (item) {
                this.f.nav(`/subPackage2/productDetail/productDetail?id=${item.id}`)

            }
        },
        // 分页加载
        onReachBottom() {
            if (!this.pullUpOn || this.loadding) return;

            this.loadding = true;

            this.fetchProductList(this.pageIndex,this.pageSize).then(newList => {
                if (newList.length < this.pageSize) {
                    this.pullUpOn = false;
                }
                this.productList = [...this.productList,...newList];
                this.pageIndex += 1;
            }).catch(err => {
                console.error(err);
                this.pullUpOn = false;
            }).finally(() => {
                this.loadding = false;
            });
        },

    };
</script>

<style>
    .tui-search-input {
        width: 90%;
        height: 30px;
        border-radius: 15px;
        font-size: 12px;
        background: #f7f7f7;
        padding: 3px 10px;
        box-sizing: border-box;
        color: #999;
        border: none;
        /* 去除输入框默认边框，可根据实际需求调整 */
    }

    .tui-delete-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        width: 50rpx;
        /* margin-left: -20px; */
        /* 根据实际效果调整图标位置，使其合理显示在输入框内右侧等位置 */
        cursor: pointer;
        /* 鼠标悬停变为手型，提示可点击 */
    }

    page {
        background-color: #f7f7f7;
    }

    .container {
        padding-bottom: env(safe-area-inset-bottom);
    }

    /* 隐藏scroll-view滚动条*/

    ::-webkit-scrollbar {
        width: 0;
        height: 0;
        color: transparent;
    }

    .tui-header-box {
        width: 100%;
        background: #fff;
        position: fixed;
        z-index: 909;
        left: 0;
        top: 0;
    }

    .tui-header {
        display: flex;
        align-items: flex-start;
    }

    .tui-back {
        margin-left: 8rpx;
        height: 32px !important;
        width: 32px !important;
    }

    .tui-searchbox {
        width: 100%;
        height: 30px;
        margin-right: 30rpx;
        border-radius: 15px;
        font-size: 12px;
        background: #f7f7f7;
        padding: 3px 10px;
        box-sizing: border-box;
        color: #999;
        display: flex;
        align-items: center;
        overflow: hidden;
    }

    /* #ifdef MP */
    .tui-search-mr {
        margin-right: 20rpx !important;
    }

    /* #endif */

    .tui-search-text {
        padding-left: 16rpx;
    }

    .tui-search-key {
        max-width: 80%;
        height: 100%;
        padding: 0 16rpx;
        margin-left: 12rpx;
        display: flex;
        align-items: center;
        border-radius: 15px;
        background: rgba(0, 0, 0, 0.5);
        color: #fff;
    }

    .tui-key-text {
        box-sizing: border-box;
        padding-right: 12rpx;
        font-size: 12px;
        line-height: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /*screen*/

    .tui-header-screen {
        width: 100%;
        box-sizing: border-box;
        background: #fff;
        position: fixed;
        z-index: 900;
    }

    .tui-screen-top,
    .tui-screen-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 28rpx;
        color: #333;
    }

    .tui-screen-top {
        height: 88rpx;
        position: relative;
        background: #fff;
    }

    .tui-top-item {
        height: 28rpx;
        line-height: 28rpx;
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tui-topitem-active {
        color: #e41f19;
    }

    .tui-screen-bottom {
        height: 100rpx;
        padding: 0 30rpx;
        box-sizing: border-box;
        font-size: 24rpx;
        align-items: center;
        overflow: hidden;
    }

    .tui-bottom-text {
        line-height: 26rpx;
        max-width: 82%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tui-bottom-item {
        flex: 1;
        width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 12rpx;
        box-sizing: border-box;
        background-color: #f7f7f7;
        margin-right: 20rpx;
        white-space: nowrap;
        height: 60rpx;
        border-radius: 40rpx;
    }

    .tui-bottom-item:last-child {
        margin-right: 0;
    }

    .tui-btmItem-active {
        background-color: #fcedea !important;
        color: #e41f19;
        font-weight: bold;
        position: relative;
    }

    .tui-btmItem-active::after {
        content: '';
        position: absolute;
        border: 1rpx solid #e41f19;
        width: 100%;
        height: 100%;
        border-radius: 40rpx;
        left: 0;
        top: 0;
    }

    .tui-btmItem-tap {
        position: relative;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .tui-btmItem-tap::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 22rpx;
        background: #f7f7f7;
        left: 0;
        top: 58rpx;
    }

    .tui-bold {
        font-weight: bold;
    }

    .tui-active {
        color: #e41f19;
    }

    .tui-addr-left {
        padding-left: 6rpx;
    }

    .tui-seizeaseat-20 {
        height: 20rpx;
    }

    .tui-seizeaseat-30 {
        height: 30rpx;
    }

    /*screen*/

    /*顶部下拉选择 属性*/

    .tui-scroll-box {
        width: 100%;
        height: 480rpx;
        box-sizing: border-box;
        position: relative;
        z-index: 99;
        color: #fff;
        font-size: 30rpx;
        word-break: break-all;
    }

    .tui-drop-item {
        color: #333;
        height: 80rpx;
        font-size: 28rpx;
        padding: 20rpx 40rpx 20rpx 40rpx;
        box-sizing: border-box;
        display: inline-block;
        width: 50%;
    }

    .tui-drop-btnbox {
        width: 100%;
        height: 100rpx;
        position: absolute;
        left: 0;
        bottom: 0;
        box-sizing: border-box;
        display: flex;
    }

    .tui-drop-btn {
        width: 50%;
        font-size: 32rpx;
        text-align: center;
        height: 100rpx;
        line-height: 100rpx;
        border: 0;
    }

    .tui-btn-red {
        background: #e41f19;
        color: #fff;
    }

    .tui-red-hover {
        background: #c51a15 !important;
        color: #e5e5e5;
    }

    .tui-btn-white {
        background: #fff;
        color: #333;
    }

    .tui-white-hover {
        background: #e5e5e5;
        color: #2e2e2e;
    }

    /*顶部下拉选择 属性*/

    /*顶部下拉选择 综合*/

    .tui-dropdownlist {
        width: 100%;
        position: absolute;
        background-color: #fff;
        border-bottom-left-radius: 24rpx;
        border-bottom-right-radius: 24rpx;
        overflow: hidden;
        box-sizing: border-box;
        padding-top: 10rpx;
        padding-bottom: 26rpx;
        left: 0;
        top: 88rpx;
        visibility: hidden;
        transition: all 0.2s ease-in-out;
        z-index: 999;
    }

    .tui-dropdownlist-show {
        visibility: visible;
    }

    .tui-dropdownlist-mask {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.6);
        z-index: -1;
        transition: all 0.2s ease-in-out;
        opacity: 0;
        visibility: hidden;
    }

    .tui-mask-show {
        opacity: 1;
        visibility: visible;
    }

    .tui-dropdownlist-item {
        color: #333;
        height: 70rpx;
        font-size: 28rpx;
        padding: 0 40rpx;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    /*顶部下拉选择 综合*/

    .tui-drawer-box {
        width: 686rpx;
        font-size: 24rpx;
        overflow: hidden;
        position: relative;
        padding-bottom: 100rpx;
    }

    .tui-drawer-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 30rpx;
        box-sizing: border-box;
        height: 80rpx;
    }

    .tui-title-bold {
        font-size: 26rpx;
        font-weight: bold;
        flex-shrink: 0;
    }

    .tui-location {
        margin-right: 6rpx;
    }

    .tui-attr-right {
        width: 70%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-align: right;
    }

    .tui-all-box {
        width: 90%;
        white-space: nowrap;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .tui-drawer-content {
        padding: 16rpx 30rpx 30rpx 30rpx;
        display: flex;
        align-items: center;
        justify-content: space-between;
        box-sizing: border-box;
    }

    .tui-input {
        border: 0;
        height: 64rpx;
        border-radius: 32rpx;
        width: 45%;
        background-color: #f7f7f7;
        text-align: center;
        font-size: 24rpx;
        color: #333;
    }

    .tui-phcolor {
        text-align: center;
        color: #b2b2b2;
        font-size: 24rpx;
    }

    .tui-flex-attr {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .tui-attr-item {
        width: 30%;
        height: 64rpx;
        background-color: #f7f7f7;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 4rpx;
        box-sizing: border-box;
        border-radius: 32rpx;
        margin-right: 5%;
        margin-bottom: 5%;
    }

    .tui-attr-ellipsis {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
        width: 96%;
        text-align: center;
    }

    .tui-attr-item:nth-of-type(3n) {
        margin-right: 0%;
    }

    .tui-attr-btnbox {
        width: 100%;
        position: absolute;
        left: 0;
        bottom: 0;
        box-sizing: border-box;
        padding: 0 30rpx;
        background: #fff;
    }

    .tui-attr-safearea {
        height: 100rpx;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: env(safe-area-inset-bottom);
    }

    .tui-safearea-bottom {
        width: 100%;
        height: env(safe-area-inset-bottom);
    }

    .tui-attr-btnbox::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        border-top: 1px solid #eaeef1;
        transform: scaleY(0.5) translateZ(0);
        transform-origin: 0 0;
    }

    .tui-drawer-btn {
        width: 47%;
        text-align: center;
        height: 60rpx;
        border-radius: 30rpx;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .tui-drawerbtn-black {
        border: 1rpx solid #555;
    }

    .tui-drawerbtn-primary {
        background: #e41f19;
        color: #fff;
    }

    /* 搜索空状态 */
    .tui-search-empty {
        width: 100%;
        padding: 120rpx 40rpx;
        text-align: center;
        background: #fff;
        border-radius: 12rpx;
        margin-bottom: 20rpx;
    }

    .tui-empty-icon {
        font-size: 80rpx;
        margin-bottom: 20rpx;
        opacity: 0.6;
    }

    .tui-empty-text {
        font-size: 32rpx;
        color: #333;
        margin-bottom: 10rpx;
        font-weight: 500;
    }

    .tui-empty-tip {
        font-size: 26rpx;
        color: #999;
    }

    /* 商品列表*/

    .tui-product-list {
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: wrap;
        box-sizing: border-box;
    }

    .tui-product-container {
        flex: 1;
        margin-right: 10rpx;
    }

    .tui-product-container:last-child {
        margin-right: 0;
    }

    .tui-pro-item {
        width: 100%;
        margin-bottom: 10rpx;
        background: #fff;
        box-sizing: border-box;
        border-radius: 12rpx;
        overflow: hidden;
        transition: all 0.15s ease-in-out;
    }

    .tui-flex-list {
        display: flex;
        margin-bottom: 1rpx !important;
    }

    .tui-pro-img {
        width: 100%;
        display: block;
    }

    .tui-proimg-list {
        width: 260rpx;
        height: 260rpx !important;
        flex-shrink: 0;
        border-radius: 12rpx;
    }

    .tui-pro-content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-sizing: border-box;
        padding: 20rpx;
    }

    .tui-pro-tit {
        color: #2e2e2e;
        font-size: 26rpx;
        word-break: break-all;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .tui-pro-price {
        padding-top: 18rpx;
    }

    .tui-sale-price {
        font-size: 34rpx;
        font-weight: 500;
        color: #e41f19;
    }

    .tui-factory-price {
        font-size: 24rpx;
        color: #a0a0a0;
        text-decoration: line-through;
        padding-left: 12rpx;
    }

    .tui-pro-pay {
        padding-top: 10rpx;
        font-size: 24rpx;
        color: #656565;
    }

    .tui-pro--hidden {
        visibility: hidden;
        opacity: 0;
        display: none;
    }

    /* 商品列表*/
</style>